/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.spring.Controller;

import com.spring.DAO.PersonaDAO;
import com.spring.Model.Alumno;
import com.spring.Model.Persona;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import com.spring.Service.AlumnoService;

/**
 *
 * @author Schwanstei
 */
public class AlumnoController extends SimpleFormController {
    private AlumnoService holaService;

    public void setHolaService(AlumnoService holaService) {
        this.holaService = holaService;
    }
    
    public AlumnoController() {
        //Initialize controller properties here or 
        //in the Web Application Context

        setCommandClass(Alumno.class);//Configurar el nombre del comando de la clase. La que va a validarse depués de una petición.
        setCommandName("alu");//Definir el nombre del comando que irá en el modelo. Objejo del formula, recibe parametros petición
        setSuccessView("holaView");// configurar el nombre de la vista(página) después de que se haya hecho el envío completo.
        setFormView("nombreView");//La vista en la que esta, inicialmente.
    }
    
   
    //Use onSubmit instead of doSubmitAction 
    //when you need access to the Request, Response, or BindException objects
    
      @Override 
      protected ModelAndView onSubmit( Object command) throws Exception {
         Alumno alu=(Alumno)command;//Se crear una mensaje
         Persona pe=new Persona();
         PersonaDAO peDa=new PersonaDAO();
         pe=peDa.findPersona(alu.getNoCuenta());
       ModelAndView mv = new ModelAndView(getSuccessView());
       AlumnoService as=new AlumnoService();
       boolean al=as.validar(alu);
       if(al==true)
       mv.addObject("holaMensaje","Bienvenido "+ pe.getNombre()); //El modelo es poblado de datos.El controlado habla con la página
       return mv;
      }
      //Do something... return mv; }
     
}
